package com.zhiyou.app.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.zhiyou.app.pojo.bo.PrePayCrateResult;
import com.zhiyou.app.pojo.entity.OrderEntity;
import com.zhiyou.app.pojo.vo.*;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author jonathan.z
 * @since 2025-07-03
 */
public interface IOrderService extends IService<OrderEntity> {
    PrePayCrateResult createPreOrder(PreOrder4PayRequestVo preOrder4PayRequestVo);

    CreateOrderResponseVo createOrder(OrderCreateRequestVo orderCreateRequestVo);

    PageInfo<OrderQueryResponseVo> queryOrder(OrderQueryRequestVo orderQueryRequestVo);

    Boolean handleRefund(HandleRefundRequestVo handleRefundRequestVo);

    Boolean userRefundOrder(UserRefundOrderRequestVo userRefundOrderRequestVo);

    PageInfo<RefundListDetailVo> queryRefundList(RefundListQueryRequestVo refundListQueryRequestVo);

    OrderQueryResponseVo orderDetail(String orderNum);

    void completeOrder(OrderEntity orderEntity);

    List<OrderGoodsItem> queryOrderGoodInfoResponseVo(String orderNum);
}